﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CrossLayerCommunication
{    
    public interface IOperationResult
    {
        bool WasSuccessful { get; }
        IEnumerable<IMessage> Messages { get; }

        void AddMessages(params IMessage[] messages);
    }

    public interface IOperationResult<out U> : IOperationResult
    {
        U Data { get; }
    }
}
